\section{LoopMultiInstance Class Reference}
\label{a00086}\index{BPMVE\_\-XPDL\_\-Library::LoopMultiInstance@{BPMVE\_\-XPDL\_\-Library::LoopMultiInstance}}


Multi-\/Instance loops reflect the programming construct foreach. The loop expression for a Multi-\/Instance loop is a numeric expression evaluated only once Before the activity is performed. The result of the expression evaluation will be an integer that will specify the number of times that the activity will be repeated. There are also two variations of the Multi-\/Instance loop where the instances are either performed sequentially OR in Parallel. Supertyped: MI\_\-Condition -\/$>$ LoopCondition, LoopCounter Deprecated: MI\_\-Condition(string) -\/$>$ MI\_\-Condition(ExpressionType) ComplexMI\_\-FlowCondition(string) -\/$>$ MI\_\-Condition(ExpressionType).  




Inheritance diagram for LoopMultiInstance:

Collaboration diagram for LoopMultiInstance:\subsection*{Properties}
\begin{DoxyCompactItemize}
\item 
OrderingEnum {\bf MI\_\-Ordering}\hspace{0.3cm}{\ttfamily  [get, set]}
\item 
MI\_\-FlowConditionEnum {\bf MI\_\-FlowCondition}\hspace{0.3cm}{\ttfamily  [get, set]}
\item 
{\bf ExpressionType} {\bf ComplexMI\_\-FlowCondition}\hspace{0.3cm}{\ttfamily  [get, set]}
\item 
{\bf ExpressionType} {\bf MI\_\-Condition}\hspace{0.3cm}{\ttfamily  [get, set]}
\end{DoxyCompactItemize}


\subsection{Detailed Description}


Definition at line 17 of file LoopMultiInstance.cs.



\subsection{Property Documentation}
\index{BPMVE\_\-XPDL\_\-Library::LoopMultiInstance@{BPMVE\_\-XPDL\_\-Library::LoopMultiInstance}!MI\_\-Ordering@{MI\_\-Ordering}}
\index{MI\_\-Ordering@{MI\_\-Ordering}!BPMVE_XPDL_Library::LoopMultiInstance@{BPMVE\_\-XPDL\_\-Library::LoopMultiInstance}}
\subsubsection[{MI\_\-Ordering}]{\setlength{\rightskip}{0pt plus 5cm}OrderingEnum MI\_\-Ordering\hspace{0.3cm}{\ttfamily  [get, set]}}\label{a00086_a4bf355dd263e9a64d0bbd0f336b7ae87}


Sequential $|$ Parallel This applies To only MultiInstance Loops. The MI\_\-Ordering attribute defines whether the loop instances will be performed sequentially OR in Parallel. Sequential MI\_\-Ordering is a more traditional loop. Parallel MI\_\-Ordering is equivalent To multi-\/ instance specifications that Other notations, such as UML \doxyref{Activity}{p.}{a00002} Diagrams use. If set To Parallel, the Parallel marker SHALL replace the \doxyref{Loop}{p.}{a00085} Marker at the bottom center of the activity shape. 



Definition at line 28 of file LoopMultiInstance.cs.

\index{BPMVE\_\-XPDL\_\-Library::LoopMultiInstance@{BPMVE\_\-XPDL\_\-Library::LoopMultiInstance}!MI\_\-FlowCondition@{MI\_\-FlowCondition}}
\index{MI\_\-FlowCondition@{MI\_\-FlowCondition}!BPMVE_XPDL_Library::LoopMultiInstance@{BPMVE\_\-XPDL\_\-Library::LoopMultiInstance}}
\subsubsection[{MI\_\-FlowCondition}]{\setlength{\rightskip}{0pt plus 5cm}MI\_\-FlowConditionEnum MI\_\-FlowCondition\hspace{0.3cm}{\ttfamily  [get, set]}}\label{a00086_ac2fffbd9d13af249fc88c2de4cbe7638}


None $|$ One $|$ All $|$ Complex This attribute is equivalent To using a Gateway To control the flow past a set of Parallel paths. An MI\_\-FlowCondition of ―None‖ is the same as uncontrolled flow (no Gateway) AND means that All activity instances SHALL generate a token that will continue when that instance is Completed. An MI\_\-FlowCondition of ―One‖ is the same as an Exclusive Gateway AND means that the Token SHALL continue past the activity After only One of the activity instances has Completed. The activity will continue its Other instances, but additional Tokens MUST NOT be passed From the activity. An MI\_\-FlowCondition of ―All‖ is the same as a Parallel Gateway AND means that the Token SHALL continue past the activity After All of the activity instances have Completed. An MI\_\-FlowCondition of ―Complex‖ is similar To that of a Complex Gateway. The ComplexMI\_\-FlowCondition attribute will determine the Token flow. 



Definition at line 44 of file LoopMultiInstance.cs.

\index{BPMVE\_\-XPDL\_\-Library::LoopMultiInstance@{BPMVE\_\-XPDL\_\-Library::LoopMultiInstance}!ComplexMI\_\-FlowCondition@{ComplexMI\_\-FlowCondition}}
\index{ComplexMI\_\-FlowCondition@{ComplexMI\_\-FlowCondition}!BPMVE_XPDL_Library::LoopMultiInstance@{BPMVE\_\-XPDL\_\-Library::LoopMultiInstance}}
\subsubsection[{ComplexMI\_\-FlowCondition}]{\setlength{\rightskip}{0pt plus 5cm}{\bf ExpressionType} ComplexMI\_\-FlowCondition\hspace{0.3cm}{\ttfamily  [get, set]}}\label{a00086_a89e88ea9c6c0fe21b248a134af5c6a5e}


If the MI\_\-FlowCondition attribute is set To ―Complex,‖ then an Expression Must be entered. This Expression that MAY reference Process Data. The expression will be evaluated After each iteration of the \doxyref{Activity}{p.}{a00002} AND SHALL resolve To a bool. If the result of the expression evaluation is TRUE, then a Token will be sent down the activity‘s outgoing Sequence Flow. Otherwise, no Token for that iteration will be sent. 



Definition at line 54 of file LoopMultiInstance.cs.

\index{BPMVE\_\-XPDL\_\-Library::LoopMultiInstance@{BPMVE\_\-XPDL\_\-Library::LoopMultiInstance}!MI\_\-Condition@{MI\_\-Condition}}
\index{MI\_\-Condition@{MI\_\-Condition}!BPMVE_XPDL_Library::LoopMultiInstance@{BPMVE\_\-XPDL\_\-Library::LoopMultiInstance}}
\subsubsection[{MI\_\-Condition}]{\setlength{\rightskip}{0pt plus 5cm}{\bf ExpressionType} MI\_\-Condition\hspace{0.3cm}{\ttfamily  [get, set]}}\label{a00086_a744832985d3de3cb44b4c1e9a1b1405a}


MultiInstance Loops MUST have a numeric Expression to be evaluated-\/-\/the Expression MUST resolve to an integer. MI\_\-Condition can be either an attribute of type string or an element of type xpdl:\doxyref{ExpressionType}{p.}{a00059}. 



Definition at line 62 of file LoopMultiInstance.cs.

